package cn.tedu.dictionary.controller;

import cn.tedu.dictionary.base.reponse.JsonResult;
import cn.tedu.dictionary.pojo.entity.SysDictType;
import cn.tedu.dictionary.service.SysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
public class SysDictTypeController {
    @Autowired
    private SysDictTypeService dictTypeService;

    @GetMapping("/dict/type/{id}")
    public JsonResult selectById(@PathVariable("id") Long dictId) {
        return new JsonResult(dictTypeService.selectById(dictId));
    }
    /**
     * 将数据字典类型对象写入到数据库，然后基于id查询时能直接从缓存查询到数据
     * 请问该如何实现？两种方案：
     * 1) 写数据时要在业务层加上写缓存(双写-写数据库，也要写缓存)
     * 2) 通过监控(可以考虑借助canal)发现数据库数据有更新，然后更新缓存数据
     */
    @PostMapping("/dict/type")
    public JsonResult saveDictType(@RequestBody SysDictType dictType){
        dictTypeService.saveSysDictType(dictType);
        return new JsonResult();
    }
}
